home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
36
/
dvqmlfix.zip
/
READ.ME
< prev
Wrap
Text File
|
1988-10-05
|
7KB
|
164 lines
10/5/88
A Fix for Qmail Door Problems Peculiar to Multi-Node, DESQview Systems
----------------------------------------------------------------------
** By Jack Kilday, Sysop, The Northern Lights, Peaks Island, Maine **
Installation of Qmail Door v2.22 proved to be more of a challenge than
I had bargained for. But after a day, it's done and runing solidly, and
now with an essential workaround to allow coexistence with DESQview on
my '386 system.
THE PROBLEMS: normal operations until the end of a caller's mail
packet, then, regardless of which node used, a lockup of the entire system
frequently occurs. Sometimes the lockups affect the correct exiting of
DSZ and DSZ seizes up. At other times DSZ exits OK but the Qmail Door
halts after reloading and displaying your ID, serial number, and number
of conferences supported by the door version. And rarely, but on occasion
the transition from end of transfer back to the door works. This is
my experience on a '386 running DOS 3.2, DESQview 2.0, and QEMM 4.0.
The failures occur with equal frequency on either node. It makes no
difference whether or not the alternate node is active at the time.
The culprit: QWIKXFER.BAT
This batch file is dynamically created by the door and lives only
long enough to affect the ARCing and DSZing of a mail packet. Two
separate problems occur as a result of the code contained in this batch
file:
1. ECHO commands using redirection to comm ports - DOS has never
implemented *ANYTHING* touching on communications (using modems)
with the comm ports correctly. And this is another failure as
bad and faulty as the CTTY implementation. The problems are
exacerbated under DESQview (and might occur under Taskview or
DoubleDOS, as well). When these redirected ECHOs were eliminated,
DSZ never failed again to exit properly on my system.
2. CLS commands in QWIKXFER.BAT apparently disrupt the correspondence
DESQview maintains between a shadow buffer and the real screen buffer.
Recent versions of QuickBASIC unfortunately use direct screen writes
which in part may be responsible for the full system lockup that
frequently occurs when the Qmail Door "comes back" after a transfer.
When these CLS's are eliminated, QWIKMAIL.EXE never fails to reload
on my system. (Actually, the biggest culprit here is the version of
of QuickBASIC in which the Qmail Door was written. There has not
been a release adequate for networks and communications environments
since QB v1.02 -- which is why PCBoard 14.0 still uses a "modified"
v1.02 compiler).
An example of a dynamically created QWIKXFER.BAT is shown on the page 3.
How can we fix this little beasty on the fly, after being created but before
being executed? Enter a small QuickBASIC (v1.02, of course!) program called
DVQMLFIX.EXE. I have included the source in this archive.
10/5/88
Page 2
Another program is also needed. As a replacement for redirected
ECHO statements, I offer ECHO_R. This is a relatively old utility from
a set of comm-port-aware batch file commands for a non-CTTY DOORs
environment. It's source, docs, and original .COM file are included
in ECHO_R.ARC contained within this archive. But specfically, there are
2 substitutes for a redirected ECHO command to be used, one for COM1
and one for COM2, ECHO_R1.COM and ECHO_R2.COM respectively.
The FIX involves taking the following steps:
1. Place DVQMLFIX.EXE, ECHO_R1.COM, and ECHO_R2.COM in a
directory included in your PATH.
2. Place in each of your QWKMAIL door batch files (that are in
the PCB and PCB2 directories - nodes 1 and 2) the statement:
DVQMLFIX as shown below.
.
.
IF NOT EXIST QWIKXFER.BAT GOTO DONE <---- Existing line
DVQMLFIX <---- New Line
COMMAND /C QWIKXFER <---- Existing line
.
.
That's all there is to it. DVQMLFIX will include the appropriate reference
to ECHO_R1.COM or ECHO_R2.COM depending on which comm port it finds
referenced in QWIKXFER.BAT. See the EXHIBIT on the next page for a
before and after view of the elusive QWIKXFER.BAT.
You won't need this fix after the next release of the Qmail Door.
I'm sure Sparky will be making the changes needed to keep us DESQview users
happy.
- Jack Kilday
The Northern Lights
PCBoard 14.0/E3
207-766-2467 96/24/1200 24hrs
10/5/88
Page 3
E X H I B I T
Here is a typical QWIKXFER.BAT dynamically created by the Qmail Door:
:DOWNLOAD
: 698 , 28
ECHO OFF
CLS
ECHO Command: PKARC A e:\qmaildor\qwork2\NLBBS.QWK e:\qmaildor\qwork2\*.*
PKARC A e:\qmaildor\qwork2\NLBBS.QWK e:\qmaildor\qwork2\*.*
ECHO: > COM1
ECHO Starting transfer of NLBBS.QWK now. > COM1
CLS
ECHO User: FRED FERN downloading 0k bytes
ECHO Command: dsz port 1 pB6144 handshake both sz e:\qmaildor\qwork2\NLBBS.QWK
dsz port 1 pB6144 handshake both sz e:\qmaildor\qwork2\NLBBS.QWK
IF ERRORLEVEL 1 GOTO DONE
REN SUCCESS.TMP SUCCESS
:DONE
CLS
Here's the same file after DVQMLFIX.EXE has operated on it. It's ready to
run in a DESQview environment.
:DOWNLOAD
: 698 , 28
ECHO OFF
ECHO Command: PKARC A e:\qmaildor\qwork2\NLBBS.QWK e:\qmaildor\qwork2\*.*
PKARC A e:\qmaildor\qwork2\NLBBS.QWK e:\qmaildor\qwork2\*.*
ECHO_R1:
ECHO_R1
ECHO_R1 Starting transfer of NLBBS.QWK now.
ECHO_R1
ECHO User: FRED FERN downloading 0k bytes
ECHO Command: dsz port 1 pB6144 handshake both sz e:\qmaildor\qwork2\NLBBS.QWK
dsz port 1 pB6144 handshake both sz e:\qmaildor\qwork2\NLBBS.QWK
IF ERRORLEVEL 1 GOTO DONE
REN SUCCESS.TMP SUCCESS
:DONE
(Note: Depending on how you view this file, you may see two ECHO_R1's above,
each followed by a blank line. If you view with an ASCII editor, you'll see
no blank lines, but that the two ECHO_R1's are each followed by 2 spaces and
linefeed symbol. DOS TYPE, LIST, and printing of this file will show as
2 blank lines. What you see is *NOT* what you get.)